library(astsa)
library(MASS)
library(forecast)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
##
## Attaching package: 'forecast'
## The following object is masked from 'package:astsa':
##
## gas
load("finalproject.Rdata")
GDP: - Time series is not stationary. - ACF: There is no clear cutoff in ACF plot. ACF declines exponentially. - PACF: There is a spike at lag=1, suggesting potential AR(1) process.
Imports: - Time series is not stationary. - ACF: There is no clear cutoff in ACF plot. ACF declines exponentially. - PACF: There is a spike at lag=1, suggesting potential AR(1) process.
# Exploratory Data Analysis
# Raw Data
# 1. Time Series Plot
ts.plot(finalPro_data$GDP)
ts.plot(finalPro_data$Imports)
# 2. ACF
acf(finalPro_data$GDP)
acf(finalPro_data$Imports)
# 3. PACF
pacf(finalPro_data$GDP)
pacf(finalPro_data$Imports)
We use log transformation to stabilize the variance. Compared to box-cox transformation, log transformation is more suitable for economic context. However, compared to the raw data, all plots did not improve much.
GDP: - Time series is not stationary. - ACF: There is no clear cutoff in ACF plot. ACF declines exponentially. - PACF: There is a spike at lag=1, suggesting potential AR(1) process.
Imports: - Time series is not stationary. - ACF: There is no clear cutoff in ACF plot. ACF declines exponentially. - PACF: There is a spike at lag=1, suggesting potential AR(1) process.
# Log-Transformed Data
log.gdp.data = log(finalPro_data$GDP)
log.import.data = log(finalPro_data$Imports)
# 1. Time Series Plot
ts.plot(log.gdp.data)
ts.plot(log.import.data)
# 2. ACF
acf(log.gdp.data)
acf(log.import.data)
# 3. PACF
pacf(log.gdp.data)
pacf(log.import.data)
We use differencing to stabilize the mean. Compared to the raw data, plots improved a lot.
GDP: - Time series is roughly stationary. - ACF: There is no clear cutoff in ACF plot. The spike at lag = 0 is because ACF always equal to 1 for h = 0. - PACF: There is no clear cutoff in PACF plot.
Imports: - Time series is roughly stationary. - ACF: There is no clear cutoff in ACF plot. The spike at lag = 0 is because ACF always equal to 1 for h = 0. - PACF: There is no clear cutoff in PACF plot.
# Differencing Data
diff.gdp.data = diff(finalPro_data$GDP)
diff.import.data = diff(finalPro_data$Imports)
# 1. Time Series Plot
ts.plot(diff.gdp.data)
ts.plot(diff.import.data)
# 2. ACF
acf(diff.gdp.data)
acf(diff.import.data)
# 3. PACF
pacf(diff.gdp.data)
pacf(diff.import.data)
Still, we use transformation to stabilize the mean. However, compared to the raw data, all plots did not improve much.
GDP: - Time series is not stationary. - ACF: There is no clear cutoff in ACF plot. ACF declines exponentially. - PACF: There is a spike at lag=1, suggesting potential AR(1) process.
Imports: - Time series is not stationary. - ACF: There is no clear cutoff in ACF plot. ACF declines exponentially. - PACF: There is a spike at lag=1, suggesting potential AR(1) process.
# Box-cox Transformed Data
gdp.lambda = BoxCox.lambda(finalPro_data$GDP)
boxcox.gdp.data = BoxCox(finalPro_data$GDP, gdp.lambda)
import.lambda = BoxCox.lambda(finalPro_data$Imports)
boxcox.import.data = BoxCox(finalPro_data$Imports, import.lambda)
# 1. Time Series Plot
ts.plot(boxcox.gdp.data)
ts.plot(boxcox.import.data)
# 2. ACF
acf(boxcox.gdp.data)
acf(boxcox.import.data)
# 3. PACF
pacf(boxcox.gdp.data)
pacf(boxcox.import.data)
We used boxcox transformation and differencing at the same time to stabilze both variance and the mean. All plots improved a lot. However, if log-differencing also work, it would be better to use log-differencing because diff(log(GDP)) indicates the growth rate in economics. Boxcox transformation is hard to interpret.
GDP: - Time series looks stationary. - ACF: There is no clear cutoff in ACF plot. The spike at lag = 0 is because ACF always equal to 1 for h = 0. - PACF: There is no clear cutoff in PACF plot.
Imports: - Time series looks stationary. - ACF: There is no clear cutoff in ACF plot. The spike at lag = 0 is because ACF always equal to 1 for h = 0. - PACF: There is no clear cutoff in PACF plot.
# Box-cox differencing Data
boxcox.diff.gdp.data = diff(boxcox.gdp.data)
boxcox.diff.import.data = diff(boxcox.import.data)
# 1. Time Series Plot
ts.plot(boxcox.diff.gdp.data)
ts.plot(boxcox.diff.import.data)
# 2. ACF
acf(boxcox.diff.gdp.data)
acf(boxcox.diff.import.data)
# 3. PACF
pacf(boxcox.diff.gdp.data)
pacf(boxcox.diff.import.data)
This is our final model, but we are going to let R do differencing in model selection and forecasting process. The reason is, if we let R do differencing, we will be able to see prediction for GDP in original scale (log(GDP)) in forecasting. If we manually do differencing, we can only see forecasting in growth rate. In practice, it is usually more common to ask the question, “what’s predicted GDP for next year” instead of “what’s the growth rate of next year.”
We used log transformation and differencing at the same time to stabilze both variance and the mean. All plots improved a lot.
GDP: - Time series looks stationary. - ACF: There is no clear cutoff in ACF plot. The spike at lag = 0 is because ACF always equal to 1 for h = 0. - PACF: There is no clear cutoff in PACF plot.
Imports: - Time series looks stationary. - ACF: There is no clear cutoff in ACF plot. The spike at lag = 0 is because ACF always equal to 1 for h = 0. - PACF: There is no clear cutoff in PACF plot.
# Log-Differencing Data (Final)
log.diff.gdp.data = diff(log.gdp.data)
log.diff.import.data = diff(log.import.data)
# 1. Time Series Plot
ts.plot(log.diff.gdp.data)
ts.plot(log.diff.import.data)
# 2. ACF
acf(log.diff.gdp.data)
acf(log.diff.import.data)
# 3. PACF
pacf(log.diff.gdp.data)
pacf(log.diff.import.data)
# Model Selection
# GDP
# Model 1: MA(1)
log.gdp.ma1 = arima(log.gdp.data, order = c(0,1,1))
log.gdp.ma1.diagnostics = sarima(log.gdp.data,0,1,1)
## initial value -2.051458
## iter 2 value -2.052302
## iter 3 value -2.052325
## iter 4 value -2.052325
## iter 4 value -2.052325
## iter 4 value -2.052325
## final value -2.052325
## converged
## initial value -2.052314
## iter 2 value -2.052314
## iter 2 value -2.052314
## iter 2 value -2.052314
## final value -2.052314
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ma1 0.0382 0.1228 0.3113 0.7568
## constant 0.0502 0.0177 2.8416 0.0063
##
## sigma^2 estimated as 0.01649574 on 55 degrees of freedom
##
## AIC = -1.161487 AICc = -1.157589 BIC = -1.053958
##
log.gdp.ma1
##
## Call:
## arima(x = log.gdp.data, order = c(0, 1, 1))
##
## Coefficients:
## ma1
## 0.1267
## s.e. 0.1182
##
## sigma^2 estimated as 0.01864: log likelihood = 32.61, aic = -61.22
log.gdp.ma1.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ma1 constant
## 0.0382 0.0502
## s.e. 0.1228 0.0177
##
## sigma^2 estimated as 0.0165: log likelihood = 36.1, aic = -66.2
##
## $degrees_of_freedom
## [1] 55
##
## $ttable
## Estimate SE t.value p.value
## ma1 0.0382 0.1228 0.3113 0.7568
## constant 0.0502 0.0177 2.8416 0.0063
##
## $ICs
## AIC AICc BIC
## -1.161487 -1.157589 -1.053958
# Model 2: AR(1)
log.gdp.ar1 = arima(log.gdp.data, order = c(1,1,0))
log.gdp.ar1.diagnostics = sarima(log.gdp.data,1,1,0)
## initial value -2.043604
## iter 2 value -2.044628
## iter 3 value -2.044635
## iter 4 value -2.044638
## iter 4 value -2.044638
## iter 4 value -2.044638
## final value -2.044638
## converged
## initial value -2.052438
## iter 2 value -2.052450
## iter 3 value -2.052458
## iter 3 value -2.052458
## iter 3 value -2.052458
## final value -2.052458
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ar1 0.0444 0.1315 0.3380 0.7367
## constant 0.0502 0.0178 2.8207 0.0067
##
## sigma^2 estimated as 0.01649082 on 55 degrees of freedom
##
## AIC = -1.161776 AICc = -1.157878 BIC = -1.054247
##
log.gdp.ar1
##
## Call:
## arima(x = log.gdp.data, order = c(1, 1, 0))
##
## Coefficients:
## ar1
## 0.1642
## s.e. 0.1306
##
## sigma^2 estimated as 0.01851: log likelihood = 32.8, aic = -61.61
log.gdp.ar1.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ar1 constant
## 0.0444 0.0502
## s.e. 0.1315 0.0178
##
## sigma^2 estimated as 0.01649: log likelihood = 36.11, aic = -66.22
##
## $degrees_of_freedom
## [1] 55
##
## $ttable
## Estimate SE t.value p.value
## ar1 0.0444 0.1315 0.3380 0.7367
## constant 0.0502 0.0178 2.8207 0.0067
##
## $ICs
## AIC AICc BIC
## -1.161776 -1.157878 -1.054247
# Model 3: MA(2)
log.gdp.ma2 = arima(log.gdp.data, order = c(0,1,2))
log.gdp.ma2.diagnostics = sarima(log.gdp.data,0,1,2)
## initial value -2.051458
## iter 2 value -2.055718
## iter 3 value -2.056120
## iter 4 value -2.056142
## iter 5 value -2.056143
## iter 5 value -2.056143
## iter 5 value -2.056143
## final value -2.056143
## converged
## initial value -2.056002
## iter 2 value -2.056006
## iter 3 value -2.056006
## iter 3 value -2.056006
## iter 3 value -2.056006
## final value -2.056006
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ma1 0.0159 0.1367 0.1162 0.9079
## ma2 0.0908 0.1388 0.6540 0.5159
## constant 0.0503 0.0187 2.6901 0.0095
##
## sigma^2 estimated as 0.01636998 on 54 degrees of freedom
##
## AIC = -1.133784 AICc = -1.12584 BIC = -0.9904119
##
log.gdp.ma2
##
## Call:
## arima(x = log.gdp.data, order = c(0, 1, 2))
##
## Coefficients:
## ma1 ma2
## 0.0827 0.1508
## s.e. 0.1416 0.1327
##
## sigma^2 estimated as 0.01822: log likelihood = 33.24, aic = -60.48
log.gdp.ma2.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ma1 ma2 constant
## 0.0159 0.0908 0.0503
## s.e. 0.1367 0.1388 0.0187
##
## sigma^2 estimated as 0.01637: log likelihood = 36.31, aic = -64.63
##
## $degrees_of_freedom
## [1] 54
##
## $ttable
## Estimate SE t.value p.value
## ma1 0.0159 0.1367 0.1162 0.9079
## ma2 0.0908 0.1388 0.6540 0.5159
## constant 0.0503 0.0187 2.6901 0.0095
##
## $ICs
## AIC AICc BIC
## -1.1337840 -1.1258396 -0.9904119
# Model 4: AR(2)
log.gdp.ar2 = arima(log.gdp.data, order = c(2,1,0))
log.gdp.ar2.diagnostics = sarima(log.gdp.data,2,1,0)
## initial value -2.035413
## iter 2 value -2.040611
## iter 3 value -2.040622
## iter 4 value -2.040622
## iter 4 value -2.040622
## iter 4 value -2.040622
## final value -2.040622
## converged
## initial value -2.056414
## iter 2 value -2.056422
## iter 3 value -2.056422
## iter 3 value -2.056422
## iter 3 value -2.056422
## final value -2.056422
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ar1 0.0405 0.1309 0.3097 0.7580
## ar2 0.0878 0.1302 0.6738 0.5033
## constant 0.0504 0.0194 2.6026 0.0119
##
## sigma^2 estimated as 0.01635617 on 54 degrees of freedom
##
## AIC = -1.134616 AICc = -1.126672 BIC = -0.991244
##
log.gdp.ar2
##
## Call:
## arima(x = log.gdp.data, order = c(2, 1, 0))
##
## Coefficients:
## ar1 ar2
## 0.1356 0.1793
## s.e. 0.1295 0.1294
##
## sigma^2 estimated as 0.01789: log likelihood = 33.74, aic = -61.49
log.gdp.ar2.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ar1 ar2 constant
## 0.0405 0.0878 0.0504
## s.e. 0.1309 0.1302 0.0194
##
## sigma^2 estimated as 0.01636: log likelihood = 36.34, aic = -64.67
##
## $degrees_of_freedom
## [1] 54
##
## $ttable
## Estimate SE t.value p.value
## ar1 0.0405 0.1309 0.3097 0.7580
## ar2 0.0878 0.1302 0.6738 0.5033
## constant 0.0504 0.0194 2.6026 0.0119
##
## $ICs
## AIC AICc BIC
## -1.134616 -1.126672 -0.991244
# Model 5: ARMA(1,1)
log.gdp.arma11 = arima(log.gdp.data, order = c(1,1,1))
log.gdp.arma11.diagnostics = sarima(log.gdp.data,1,1,1)
## initial value -2.043604
## iter 2 value -2.044276
## iter 3 value -2.044596
## iter 4 value -2.044598
## iter 5 value -2.044625
## iter 6 value -2.044786
## iter 7 value -2.044823
## iter 8 value -2.044926
## iter 9 value -2.044934
## iter 10 value -2.044947
## iter 11 value -2.045576
## iter 12 value -2.046165
## iter 13 value -2.046254
## iter 14 value -2.047052
## iter 15 value -2.047177
## iter 16 value -2.047178
## iter 16 value -2.047178
## iter 16 value -2.047178
## final value -2.047178
## converged
## initial value -2.056080
## iter 2 value -2.056116
## iter 3 value -2.056124
## iter 4 value -2.056126
## iter 5 value -2.056128
## iter 6 value -2.056139
## iter 7 value -2.056146
## iter 8 value -2.056149
## iter 9 value -2.056149
## iter 10 value -2.056149
## iter 10 value -2.056149
## iter 10 value -2.056149
## final value -2.056149
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ar1 0.6353 0.4481 1.4177 0.1620
## ma1 -0.5615 0.4727 -1.1879 0.2401
## constant 0.0502 0.0202 2.4854 0.0161
##
## sigma^2 estimated as 0.0163663 on 54 degrees of freedom
##
## AIC = -1.134071 AICc = -1.126126 BIC = -0.9906986
##
log.gdp.arma11
##
## Call:
## arima(x = log.gdp.data, order = c(1, 1, 1))
##
## Coefficients:
## ar1 ma1
## 0.9785 -0.9133
## s.e. 0.0854 0.1929
##
## sigma^2 estimated as 0.01719: log likelihood = 34.7, aic = -63.39
log.gdp.arma11.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ar1 ma1 constant
## 0.6353 -0.5615 0.0502
## s.e. 0.4481 0.4727 0.0202
##
## sigma^2 estimated as 0.01637: log likelihood = 36.32, aic = -64.64
##
## $degrees_of_freedom
## [1] 54
##
## $ttable
## Estimate SE t.value p.value
## ar1 0.6353 0.4481 1.4177 0.1620
## ma1 -0.5615 0.4727 -1.1879 0.2401
## constant 0.0502 0.0202 2.4854 0.0161
##
## $ICs
## AIC AICc BIC
## -1.1340706 -1.1261262 -0.9906986
# Model 6: ARMA(1,2)
log.gdp.arma12 = arima(log.gdp.data, order = c(1,1,2))
log.gdp.arma12.diagnostics = sarima(log.gdp.data,1,1,2)
## initial value -2.043604
## iter 2 value -2.046177
## iter 3 value -2.048533
## iter 4 value -2.048624
## iter 5 value -2.048815
## iter 6 value -2.049700
## iter 7 value -2.051473
## iter 8 value -2.051869
## iter 9 value -2.052374
## iter 10 value -2.052542
## iter 11 value -2.052542
## iter 11 value -2.052543
## iter 11 value -2.052543
## final value -2.052543
## converged
## initial value -2.061088
## iter 2 value -2.061098
## iter 3 value -2.061118
## iter 4 value -2.061120
## iter 5 value -2.061122
## iter 6 value -2.061133
## iter 7 value -2.061137
## iter 8 value -2.061139
## iter 9 value -2.061139
## iter 9 value -2.061139
## iter 9 value -2.061139
## final value -2.061139
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ar1 0.4806 0.4350 1.1048 0.2742
## ma1 -0.4623 0.4343 -1.0644 0.2920
## ma2 0.1225 0.1510 0.8116 0.4206
## constant 0.0505 0.0212 2.3799 0.0209
##
## sigma^2 estimated as 0.016194 on 53 degrees of freedom
##
## AIC = -1.108962 AICc = -1.095467 BIC = -0.9297472
##
log.gdp.arma12
##
## Call:
## arima(x = log.gdp.data, order = c(1, 1, 2))
##
## Coefficients:
## ar1 ma1 ma2
## 0.985 -0.9075 -0.0220
## s.e. 0.058 0.1496 0.1364
##
## sigma^2 estimated as 0.01715: log likelihood = 34.71, aic = -61.42
log.gdp.arma12.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ar1 ma1 ma2 constant
## 0.4806 -0.4623 0.1225 0.0505
## s.e. 0.4350 0.4343 0.1510 0.0212
##
## sigma^2 estimated as 0.01619: log likelihood = 36.61, aic = -63.21
##
## $degrees_of_freedom
## [1] 53
##
## $ttable
## Estimate SE t.value p.value
## ar1 0.4806 0.4350 1.1048 0.2742
## ma1 -0.4623 0.4343 -1.0644 0.2920
## ma2 0.1225 0.1510 0.8116 0.4206
## constant 0.0505 0.0212 2.3799 0.0209
##
## $ICs
## AIC AICc BIC
## -1.1089622 -1.0954669 -0.9297472
# Model 7: ARMA(2,1)
log.gdp.arma21 = arima(log.gdp.data, order = c(2,1,1))
log.gdp.arma21.diagnostics = sarima(log.gdp.data,2,1,1)
## initial value -2.035413
## iter 2 value -2.038759
## iter 3 value -2.040329
## iter 4 value -2.040504
## iter 5 value -2.040649
## iter 6 value -2.041805
## iter 7 value -2.042863
## iter 8 value -2.043277
## iter 9 value -2.043499
## iter 10 value -2.043624
## iter 11 value -2.043626
## iter 12 value -2.043627
## iter 13 value -2.043627
## iter 14 value -2.043629
## iter 15 value -2.043629
## iter 16 value -2.043630
## iter 16 value -2.043630
## iter 16 value -2.043630
## final value -2.043630
## converged
## initial value -2.059446
## iter 2 value -2.059459
## iter 3 value -2.059466
## iter 4 value -2.059467
## iter 5 value -2.059470
## iter 6 value -2.059475
## iter 7 value -2.059479
## iter 8 value -2.059479
## iter 9 value -2.059480
## iter 9 value -2.059480
## iter 9 value -2.059480
## final value -2.059480
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ar1 0.4057 0.5161 0.7862 0.4353
## ar2 0.0918 0.1378 0.6661 0.5082
## ma1 -0.3718 0.5064 -0.7343 0.4660
## constant 0.0504 0.0209 2.4092 0.0195
##
## sigma^2 estimated as 0.01625255 on 53 degrees of freedom
##
## AIC = -1.105643 AICc = -1.092148 BIC = -0.9264284
##
log.gdp.arma21
##
## Call:
## arima(x = log.gdp.data, order = c(2, 1, 1))
##
## Coefficients:
## ar1 ar2 ma1
## 1.0145 -0.0282 -0.9339
## s.e. 0.1871 0.1558 0.1439
##
## sigma^2 estimated as 0.01715: log likelihood = 34.71, aic = -61.42
log.gdp.arma21.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ar1 ar2 ma1 constant
## 0.4057 0.0918 -0.3718 0.0504
## s.e. 0.5161 0.1378 0.5064 0.0209
##
## sigma^2 estimated as 0.01625: log likelihood = 36.51, aic = -63.02
##
## $degrees_of_freedom
## [1] 53
##
## $ttable
## Estimate SE t.value p.value
## ar1 0.4057 0.5161 0.7862 0.4353
## ar2 0.0918 0.1378 0.6661 0.5082
## ma1 -0.3718 0.5064 -0.7343 0.4660
## constant 0.0504 0.0209 2.4092 0.0195
##
## $ICs
## AIC AICc BIC
## -1.1056434 -1.0921482 -0.9264284
# Model 8: ARMA(2,2) (final)
log.gdp.arma22 = arima(log.gdp.data, order = c(2,1,2))
## Warning in log(s2): NaNs produced
log.gdp.arma22.diagnostics = sarima(log.gdp.data,2,1,2)
## initial value -2.035413
## iter 2 value -2.038802
## iter 3 value -2.040478
## iter 4 value -2.040641
## iter 5 value -2.040791
## iter 6 value -2.042896
## iter 7 value -2.044919
## iter 8 value -2.044997
## iter 9 value -2.045682
## iter 10 value -2.045871
## iter 11 value -2.046747
## iter 12 value -2.047273
## iter 13 value -2.047581
## iter 14 value -2.047650
## iter 15 value -2.047702
## iter 16 value -2.047784
## iter 17 value -2.047792
## iter 18 value -2.047798
## iter 19 value -2.047815
## iter 20 value -2.047853
## iter 21 value -2.047961
## iter 22 value -2.048189
## iter 23 value -2.048265
## iter 24 value -2.048319
## iter 25 value -2.048351
## iter 26 value -2.048358
## iter 27 value -2.048491
## iter 28 value -2.048729
## iter 29 value -2.049412
## iter 30 value -2.050278
## iter 31 value -2.050624
## iter 32 value -2.050668
## iter 33 value -2.051024
## iter 34 value -2.051982
## iter 35 value -2.056779
## iter 36 value -2.059611
## iter 37 value -2.062731
## iter 38 value -2.067101
## iter 39 value -2.072227
## iter 40 value -2.088828
## iter 41 value -2.094344
## iter 42 value -2.097064
## iter 43 value -2.099764
## iter 44 value -2.099869
## iter 45 value -2.100886
## iter 46 value -2.101122
## iter 47 value -2.101204
## iter 48 value -2.101214
## iter 49 value -2.101216
## iter 50 value -2.101237
## iter 51 value -2.101241
## iter 51 value -2.101241
## iter 51 value -2.101241
## final value -2.101241
## converged
## initial value -2.050366
## iter 2 value -2.056004
## iter 3 value -2.081589
## iter 4 value -2.084062
## iter 5 value -2.085848
## iter 6 value -2.086763
## iter 7 value -2.087482
## iter 8 value -2.089787
## iter 9 value -2.091470
## iter 10 value -2.091972
## iter 11 value -2.093079
## iter 12 value -2.093232
## iter 13 value -2.093238
## iter 14 value -2.093255
## iter 15 value -2.093269
## iter 16 value -2.093278
## iter 17 value -2.093279
## iter 18 value -2.093279
## iter 19 value -2.093279
## iter 20 value -2.093279
## iter 20 value -2.093279
## iter 20 value -2.093279
## final value -2.093279
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ar1 1.5232 0.1236 12.3224 0.0000
## ar2 -0.9044 0.0924 -9.7839 0.0000
## ma1 -1.5297 0.1006 -15.2086 0.0000
## ma2 1.0000 0.0999 10.0098 0.0000
## constant 0.0508 0.0196 2.5979 0.0122
##
## sigma^2 estimated as 0.01443687 on 52 degrees of freedom
##
## AIC = -1.138155 AICc = -1.117515 BIC = -0.9230966
##
log.gdp.arma22
##
## Call:
## arima(x = log.gdp.data, order = c(2, 1, 2))
##
## Coefficients:
## ar1 ar2 ma1 ma2
## 0.1291 0.8446 0.0650 -0.9350
## s.e. 0.0968 0.0858 0.1287 0.1277
##
## sigma^2 estimated as 0.01591: log likelihood = 36.02, aic = -62.04
log.gdp.arma22.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ar1 ar2 ma1 ma2 constant
## 1.5232 -0.9044 -1.5297 1.0000 0.0508
## s.e. 0.1236 0.0924 0.1006 0.0999 0.0196
##
## sigma^2 estimated as 0.01444: log likelihood = 38.44, aic = -64.87
##
## $degrees_of_freedom
## [1] 52
##
## $ttable
## Estimate SE t.value p.value
## ar1 1.5232 0.1236 12.3224 0.0000
## ar2 -0.9044 0.0924 -9.7839 0.0000
## ma1 -1.5297 0.1006 -15.2086 0.0000
## ma2 1.0000 0.0999 10.0098 0.0000
## constant 0.0508 0.0196 2.5979 0.0122
##
## $ICs
## AIC AICc BIC
## -1.1381546 -1.1175148 -0.9230966
Our final model for GDP is ARMA(2,2).
# GDP Final Model: ARMA(2,2)
log.gdp.arma22 = arima(log.gdp.data, order = c(2,1,2))
## Warning in log(s2): NaNs produced
log.gdp.arma22.diagnostics = sarima(log.gdp.data,2,1,2)
## initial value -2.035413
## iter 2 value -2.038802
## iter 3 value -2.040478
## iter 4 value -2.040641
## iter 5 value -2.040791
## iter 6 value -2.042896
## iter 7 value -2.044919
## iter 8 value -2.044997
## iter 9 value -2.045682
## iter 10 value -2.045871
## iter 11 value -2.046747
## iter 12 value -2.047273
## iter 13 value -2.047581
## iter 14 value -2.047650
## iter 15 value -2.047702
## iter 16 value -2.047784
## iter 17 value -2.047792
## iter 18 value -2.047798
## iter 19 value -2.047815
## iter 20 value -2.047853
## iter 21 value -2.047961
## iter 22 value -2.048189
## iter 23 value -2.048265
## iter 24 value -2.048319
## iter 25 value -2.048351
## iter 26 value -2.048358
## iter 27 value -2.048491
## iter 28 value -2.048729
## iter 29 value -2.049412
## iter 30 value -2.050278
## iter 31 value -2.050624
## iter 32 value -2.050668
## iter 33 value -2.051024
## iter 34 value -2.051982
## iter 35 value -2.056779
## iter 36 value -2.059611
## iter 37 value -2.062731
## iter 38 value -2.067101
## iter 39 value -2.072227
## iter 40 value -2.088828
## iter 41 value -2.094344
## iter 42 value -2.097064
## iter 43 value -2.099764
## iter 44 value -2.099869
## iter 45 value -2.100886
## iter 46 value -2.101122
## iter 47 value -2.101204
## iter 48 value -2.101214
## iter 49 value -2.101216
## iter 50 value -2.101237
## iter 51 value -2.101241
## iter 51 value -2.101241
## iter 51 value -2.101241
## final value -2.101241
## converged
## initial value -2.050366
## iter 2 value -2.056004
## iter 3 value -2.081589
## iter 4 value -2.084062
## iter 5 value -2.085848
## iter 6 value -2.086763
## iter 7 value -2.087482
## iter 8 value -2.089787
## iter 9 value -2.091470
## iter 10 value -2.091972
## iter 11 value -2.093079
## iter 12 value -2.093232
## iter 13 value -2.093238
## iter 14 value -2.093255
## iter 15 value -2.093269
## iter 16 value -2.093278
## iter 17 value -2.093279
## iter 18 value -2.093279
## iter 19 value -2.093279
## iter 20 value -2.093279
## iter 20 value -2.093279
## iter 20 value -2.093279
## final value -2.093279
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ar1 1.5232 0.1236 12.3224 0.0000
## ar2 -0.9044 0.0924 -9.7839 0.0000
## ma1 -1.5297 0.1006 -15.2086 0.0000
## ma2 1.0000 0.0999 10.0098 0.0000
## constant 0.0508 0.0196 2.5979 0.0122
##
## sigma^2 estimated as 0.01443687 on 52 degrees of freedom
##
## AIC = -1.138155 AICc = -1.117515 BIC = -0.9230966
##
log.gdp.arma22
##
## Call:
## arima(x = log.gdp.data, order = c(2, 1, 2))
##
## Coefficients:
## ar1 ar2 ma1 ma2
## 0.1291 0.8446 0.0650 -0.9350
## s.e. 0.0968 0.0858 0.1287 0.1277
##
## sigma^2 estimated as 0.01591: log likelihood = 36.02, aic = -62.04
log.gdp.arma22.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ar1 ar2 ma1 ma2 constant
## 1.5232 -0.9044 -1.5297 1.0000 0.0508
## s.e. 0.1236 0.0924 0.1006 0.0999 0.0196
##
## sigma^2 estimated as 0.01444: log likelihood = 38.44, aic = -64.87
##
## $degrees_of_freedom
## [1] 52
##
## $ttable
## Estimate SE t.value p.value
## ar1 1.5232 0.1236 12.3224 0.0000
## ar2 -0.9044 0.0924 -9.7839 0.0000
## ma1 -1.5297 0.1006 -15.2086 0.0000
## ma2 1.0000 0.0999 10.0098 0.0000
## constant 0.0508 0.0196 2.5979 0.0122
##
## $ICs
## AIC AICc BIC
## -1.1381546 -1.1175148 -0.9230966
# Model Selection
# Imports
# Model 1: MA(1)
log.import.ma1 = arima(log.import.data, order = c(0,1,1))
log.import.ma1.diagnostics = sarima(log.import.data,0,1,1)
## initial value -2.132354
## iter 2 value -2.139659
## iter 3 value -2.143882
## iter 4 value -2.144278
## iter 5 value -2.144320
## iter 6 value -2.144360
## iter 7 value -2.144361
## iter 8 value -2.144361
## iter 9 value -2.144361
## iter 9 value -2.144361
## iter 9 value -2.144361
## final value -2.144361
## converged
## initial value -2.143999
## iter 2 value -2.144004
## iter 3 value -2.144005
## iter 4 value -2.144007
## iter 4 value -2.144007
## iter 4 value -2.144007
## final value -2.144007
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ma1 -0.2314 0.1836 -1.2604 0.2128
## constant -0.0016 0.0120 -0.1367 0.8917
##
## sigma^2 estimated as 0.01371893 on 55 degrees of freedom
##
## AIC = -1.344873 AICc = -1.340975 BIC = -1.237344
##
log.import.ma1
##
## Call:
## arima(x = log.import.data, order = c(0, 1, 1))
##
## Coefficients:
## ma1
## -0.2300
## s.e. 0.1833
##
## sigma^2 estimated as 0.01372: log likelihood = 41.32, aic = -78.64
log.import.ma1.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ma1 constant
## -0.2314 -0.0016
## s.e. 0.1836 0.0120
##
## sigma^2 estimated as 0.01372: log likelihood = 41.33, aic = -76.66
##
## $degrees_of_freedom
## [1] 55
##
## $ttable
## Estimate SE t.value p.value
## ma1 -0.2314 0.1836 -1.2604 0.2128
## constant -0.0016 0.0120 -0.1367 0.8917
##
## $ICs
## AIC AICc BIC
## -1.344873 -1.340975 -1.237344
# Model 2: AR(1)
log.import.ar1 = arima(log.import.data, order = c(1,1,0))
log.import.ar1.diagnostics = sarima(log.import.data,1,1,0)
## initial value -2.124853
## iter 2 value -2.129291
## iter 3 value -2.129301
## iter 4 value -2.129306
## iter 4 value -2.129306
## iter 4 value -2.129306
## final value -2.129306
## converged
## initial value -2.136680
## iter 2 value -2.136694
## iter 3 value -2.136701
## iter 3 value -2.136701
## iter 3 value -2.136701
## final value -2.136701
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ar1 -0.0926 0.1312 -0.7056 0.4834
## constant -0.0014 0.0143 -0.1002 0.9205
##
## sigma^2 estimated as 0.01393219 on 55 degrees of freedom
##
## AIC = -1.330262 AICc = -1.326364 BIC = -1.222733
##
log.import.ar1
##
## Call:
## arima(x = log.import.data, order = c(1, 1, 0))
##
## Coefficients:
## ar1
## -0.0922
## s.e. 0.1311
##
## sigma^2 estimated as 0.01393: log likelihood = 40.91, aic = -77.81
log.import.ar1.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ar1 constant
## -0.0926 -0.0014
## s.e. 0.1312 0.0143
##
## sigma^2 estimated as 0.01393: log likelihood = 40.91, aic = -75.82
##
## $degrees_of_freedom
## [1] 55
##
## $ttable
## Estimate SE t.value p.value
## ar1 -0.0926 0.1312 -0.7056 0.4834
## constant -0.0014 0.0143 -0.1002 0.9205
##
## $ICs
## AIC AICc BIC
## -1.330262 -1.326364 -1.222733
# Model 3: MA(2)
log.import.ma2 = arima(log.import.data, order = c(0,1,2))
log.import.ma2.diagnostics = sarima(log.import.data,0,1,2)
## initial value -2.132354
## iter 2 value -2.199743
## iter 3 value -2.200444
## iter 4 value -2.201470
## iter 5 value -2.202071
## iter 6 value -2.202083
## iter 7 value -2.202083
## iter 7 value -2.202083
## iter 7 value -2.202083
## final value -2.202083
## converged
## initial value -2.200774
## iter 2 value -2.200797
## iter 3 value -2.200822
## iter 4 value -2.200823
## iter 5 value -2.200823
## iter 5 value -2.200823
## iter 5 value -2.200823
## final value -2.200823
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ma1 -0.0465 0.1315 -0.3538 0.7249
## ma2 -0.3865 0.1414 -2.7324 0.0085
## constant -0.0029 0.0086 -0.3335 0.7401
##
## sigma^2 estimated as 0.01218653 on 54 degrees of freedom
##
## AIC = -1.423419 AICc = -1.415475 BIC = -1.280047
##
log.import.ma2
##
## Call:
## arima(x = log.import.data, order = c(0, 1, 2))
##
## Coefficients:
## ma1 ma2
## -0.0431 -0.3790
## s.e. 0.1317 0.1382
##
## sigma^2 estimated as 0.01221: log likelihood = 44.51, aic = -83.03
log.import.ma2.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ma1 ma2 constant
## -0.0465 -0.3865 -0.0029
## s.e. 0.1315 0.1414 0.0086
##
## sigma^2 estimated as 0.01219: log likelihood = 44.57, aic = -81.13
##
## $degrees_of_freedom
## [1] 54
##
## $ttable
## Estimate SE t.value p.value
## ma1 -0.0465 0.1315 -0.3538 0.7249
## ma2 -0.3865 0.1414 -2.7324 0.0085
## constant -0.0029 0.0086 -0.3335 0.7401
##
## $ICs
## AIC AICc BIC
## -1.423419 -1.415475 -1.280047
# Model 4: AR(2)
log.import.ar2 = arima(log.import.data, order = c(2,1,0))
log.import.ar2.diagnostics = sarima(log.import.data,2,1,0)
## initial value -2.117685
## iter 2 value -2.186025
## iter 3 value -2.186679
## iter 4 value -2.186969
## iter 5 value -2.187031
## iter 6 value -2.187032
## iter 6 value -2.187032
## iter 6 value -2.187032
## final value -2.187032
## converged
## initial value -2.198845
## iter 2 value -2.198923
## iter 3 value -2.198958
## iter 4 value -2.198960
## iter 5 value -2.198962
## iter 5 value -2.198962
## iter 5 value -2.198962
## final value -2.198962
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ar1 -0.1229 0.1240 -0.9911 0.3260
## ar2 -0.3417 0.1236 -2.7637 0.0078
## constant -0.0015 0.0101 -0.1499 0.8814
##
## sigma^2 estimated as 0.01224758 on 54 degrees of freedom
##
## AIC = -1.419695 AICc = -1.411751 BIC = -1.276323
##
log.import.ar2
##
## Call:
## arima(x = log.import.data, order = c(2, 1, 0))
##
## Coefficients:
## ar1 ar2
## -0.1224 -0.3414
## s.e. 0.1240 0.1236
##
## sigma^2 estimated as 0.01225: log likelihood = 44.45, aic = -82.9
log.import.ar2.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ar1 ar2 constant
## -0.1229 -0.3417 -0.0015
## s.e. 0.1240 0.1236 0.0101
##
## sigma^2 estimated as 0.01225: log likelihood = 44.46, aic = -80.92
##
## $degrees_of_freedom
## [1] 54
##
## $ttable
## Estimate SE t.value p.value
## ar1 -0.1229 0.1240 -0.9911 0.3260
## ar2 -0.3417 0.1236 -2.7637 0.0078
## constant -0.0015 0.0101 -0.1499 0.8814
##
## $ICs
## AIC AICc BIC
## -1.419695 -1.411751 -1.276323
# Model 5: ARMA(1,1) (final)
log.import.arma11 = arima(log.import.data, order = c(1,1,1))
log.import.arma11.diagnostics = sarima(log.import.data,1,1,1)
## initial value -2.124853
## iter 2 value -2.131198
## iter 3 value -2.133231
## iter 4 value -2.137431
## iter 5 value -2.149287
## iter 6 value -2.160505
## iter 7 value -2.163489
## iter 8 value -2.164322
## iter 9 value -2.164496
## iter 10 value -2.164541
## iter 11 value -2.164592
## iter 12 value -2.164651
## iter 13 value -2.164733
## iter 14 value -2.164745
## iter 15 value -2.164927
## iter 16 value -2.165021
## iter 17 value -2.165204
## iter 18 value -2.166863
## iter 19 value -2.167436
## iter 20 value -2.176018
## iter 21 value -2.178987
## iter 22 value -2.192394
## iter 23 value -2.194201
## iter 24 value -2.200608
## iter 25 value -2.203958
## iter 26 value -2.210785
## iter 27 value -2.211433
## iter 28 value -2.219517
## iter 29 value -2.220264
## iter 30 value -2.226721
## iter 31 value -2.239600
## iter 32 value -2.253113
## iter 33 value -2.260094
## iter 34 value -2.260647
## iter 35 value -2.263222
## iter 36 value -2.264100
## iter 36 value -2.264100
## iter 37 value -2.264274
## iter 37 value -2.264274
## iter 38 value -2.264308
## iter 38 value -2.264308
## iter 39 value -2.264316
## iter 39 value -2.264316
## iter 40 value -2.264317
## iter 40 value -2.264317
## iter 41 value -2.264318
## iter 41 value -2.264318
## iter 42 value -2.264318
## iter 42 value -2.264318
## iter 42 value -2.264318
## final value -2.264318
## converged
## initial value -2.151965
## iter 2 value -2.159581
## iter 3 value -2.165801
## iter 4 value -2.167893
## iter 5 value -2.168446
## iter 6 value -2.168480
## iter 7 value -2.168526
## iter 8 value -2.168538
## iter 9 value -2.168538
## iter 10 value -2.168539
## iter 11 value -2.168541
## iter 12 value -2.168542
## iter 12 value -2.168542
## iter 12 value -2.168542
## final value -2.168542
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ar1 0.7838 0.0991 7.9080 0.000
## ma1 -1.0000 0.0583 -17.1426 0.000
## constant -0.0075 0.0036 -2.0729 0.043
##
## sigma^2 estimated as 0.0126088 on 54 degrees of freedom
##
## AIC = -1.358857 AICc = -1.350912 BIC = -1.215485
##
log.import.arma11
##
## Call:
## arima(x = log.import.data, order = c(1, 1, 1))
##
## Coefficients:
## ar1 ma1
## 0.4886 -0.7102
## s.e. 0.3028 0.2444
##
## sigma^2 estimated as 0.01319: log likelihood = 42.42, aic = -78.84
log.import.arma11.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ar1 ma1 constant
## 0.7838 -1.0000 -0.0075
## s.e. 0.0991 0.0583 0.0036
##
## sigma^2 estimated as 0.01261: log likelihood = 42.73, aic = -77.45
##
## $degrees_of_freedom
## [1] 54
##
## $ttable
## Estimate SE t.value p.value
## ar1 0.7838 0.0991 7.9080 0.000
## ma1 -1.0000 0.0583 -17.1426 0.000
## constant -0.0075 0.0036 -2.0729 0.043
##
## $ICs
## AIC AICc BIC
## -1.358857 -1.350912 -1.215485
# Model 6: ARMA(1,2)
log.import.arma12 = arima(log.import.data, order = c(1,1,2))
log.import.arma12.diagnostics = sarima(log.import.data,1,1,2)
## initial value -2.124853
## iter 2 value -2.190526
## iter 3 value -2.196281
## iter 4 value -2.197046
## iter 5 value -2.198253
## iter 6 value -2.199359
## iter 7 value -2.201100
## iter 8 value -2.202005
## iter 9 value -2.202359
## iter 10 value -2.202363
## iter 11 value -2.202364
## iter 12 value -2.202364
## iter 13 value -2.202364
## iter 14 value -2.202364
## iter 15 value -2.202364
## iter 15 value -2.202364
## iter 15 value -2.202364
## final value -2.202364
## converged
## initial value -2.209843
## iter 2 value -2.209920
## iter 3 value -2.210058
## iter 4 value -2.210177
## iter 5 value -2.210240
## iter 6 value -2.210268
## iter 7 value -2.210268
## iter 7 value -2.210268
## iter 7 value -2.210268
## final value -2.210268
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ar1 -0.3312 0.2902 -1.1412 0.2589
## ma1 0.2433 0.2720 0.8944 0.3751
## ma2 -0.4033 0.1267 -3.1820 0.0024
## constant -0.0025 0.0093 -0.2631 0.7935
##
## sigma^2 estimated as 0.01194653 on 53 degrees of freedom
##
## AIC = -1.407221 AICc = -1.393726 BIC = -1.228006
##
log.import.arma12
##
## Call:
## arima(x = log.import.data, order = c(1, 1, 2))
##
## Coefficients:
## ar1 ma1 ma2
## -0.3347 0.2489 -0.3991
## s.e. 0.2885 0.2697 0.1249
##
## sigma^2 estimated as 0.01196: log likelihood = 45.07, aic = -82.14
log.import.arma12.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ar1 ma1 ma2 constant
## -0.3312 0.2433 -0.4033 -0.0025
## s.e. 0.2902 0.2720 0.1267 0.0093
##
## sigma^2 estimated as 0.01195: log likelihood = 45.11, aic = -80.21
##
## $degrees_of_freedom
## [1] 53
##
## $ttable
## Estimate SE t.value p.value
## ar1 -0.3312 0.2902 -1.1412 0.2589
## ma1 0.2433 0.2720 0.8944 0.3751
## ma2 -0.4033 0.1267 -3.1820 0.0024
## constant -0.0025 0.0093 -0.2631 0.7935
##
## $ICs
## AIC AICc BIC
## -1.407221 -1.393726 -1.228006
# Model 7: ARMA(2,1)
log.import.arma21 = arima(log.import.data, order = c(2,1,1))
log.import.arma21.diagnostics = sarima(log.import.data,2,1,1)
## initial value -2.117685
## iter 2 value -2.183588
## iter 3 value -2.185259
## iter 4 value -2.185930
## iter 5 value -2.186463
## iter 6 value -2.186556
## iter 7 value -2.187485
## iter 8 value -2.187673
## iter 9 value -2.187720
## iter 10 value -2.187726
## iter 11 value -2.187727
## iter 11 value -2.187727
## iter 11 value -2.187727
## final value -2.187727
## converged
## initial value -2.199962
## iter 2 value -2.200019
## iter 3 value -2.200062
## iter 4 value -2.200062
## iter 5 value -2.200063
## iter 6 value -2.200064
## iter 7 value -2.200069
## iter 8 value -2.200072
## iter 9 value -2.200074
## iter 10 value -2.200074
## iter 10 value -2.200074
## final value -2.200074
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ar1 -0.3207 0.7160 -0.4479 0.6561
## ar2 -0.3531 0.1222 -2.8890 0.0056
## ma1 0.2253 0.8057 0.2797 0.7808
## constant -0.0016 0.0108 -0.1486 0.8824
##
## sigma^2 estimated as 0.01221869 on 53 degrees of freedom
##
## AIC = -1.386832 AICc = -1.373337 BIC = -1.207617
##
log.import.arma21
##
## Call:
## arima(x = log.import.data, order = c(2, 1, 1))
##
## Coefficients:
## ar1 ar2 ma1
## -0.3181 -0.3528 0.2230
## s.e. 0.7032 0.1222 0.7907
##
## sigma^2 estimated as 0.01222: log likelihood = 44.51, aic = -81.03
log.import.arma21.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ar1 ar2 ma1 constant
## -0.3207 -0.3531 0.2253 -0.0016
## s.e. 0.7160 0.1222 0.8057 0.0108
##
## sigma^2 estimated as 0.01222: log likelihood = 44.52, aic = -79.05
##
## $degrees_of_freedom
## [1] 53
##
## $ttable
## Estimate SE t.value p.value
## ar1 -0.3207 0.7160 -0.4479 0.6561
## ar2 -0.3531 0.1222 -2.8890 0.0056
## ma1 0.2253 0.8057 0.2797 0.7808
## constant -0.0016 0.0108 -0.1486 0.8824
##
## $ICs
## AIC AICc BIC
## -1.386832 -1.373337 -1.207617
# Model 8: ARMA(2,2)
log.import.arma22 = arima(log.import.data, order = c(2,1,2))
log.import.arma22.diagnostics = sarima(log.import.data,2,1,2)
## initial value -2.117685
## iter 2 value -2.146070
## iter 3 value -2.189558
## iter 4 value -2.191196
## iter 5 value -2.191658
## iter 6 value -2.194157
## iter 7 value -2.196115
## iter 8 value -2.199075
## iter 9 value -2.200842
## iter 10 value -2.202596
## iter 11 value -2.203318
## iter 12 value -2.203457
## iter 13 value -2.203461
## iter 14 value -2.203464
## iter 15 value -2.203467
## iter 16 value -2.203469
## iter 17 value -2.203470
## iter 18 value -2.203472
## iter 19 value -2.203476
## iter 20 value -2.203477
## iter 21 value -2.203477
## iter 22 value -2.203478
## iter 23 value -2.203478
## iter 23 value -2.203478
## final value -2.203478
## converged
## initial value -2.209480
## iter 2 value -2.209834
## iter 3 value -2.209908
## iter 4 value -2.210012
## iter 5 value -2.210118
## iter 6 value -2.210245
## iter 7 value -2.210303
## iter 8 value -2.210312
## iter 9 value -2.210329
## iter 10 value -2.210339
## iter 11 value -2.210345
## iter 12 value -2.210345
## iter 12 value -2.210345
## final value -2.210345
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ar1 -0.3480 0.3419 -1.0178 0.3135
## ar2 -0.0325 0.3434 -0.0947 0.9249
## ma1 0.2586 0.3225 0.8019 0.4263
## ma2 -0.3743 0.3343 -1.1197 0.2680
## constant -0.0024 0.0095 -0.2494 0.8040
##
## sigma^2 estimated as 0.0119451 on 52 degrees of freedom
##
## AIC = -1.372287 AICc = -1.351647 BIC = -1.157229
##
log.import.arma22
##
## Call:
## arima(x = log.import.data, order = c(2, 1, 2))
##
## Coefficients:
## ar1 ar2 ma1 ma2
## -0.3556 -0.0426 0.2677 -0.3617
## s.e. 0.3363 0.3328 0.3174 0.3224
##
## sigma^2 estimated as 0.01196: log likelihood = 45.08, aic = -80.16
log.import.arma22.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ar1 ar2 ma1 ma2 constant
## -0.3480 -0.0325 0.2586 -0.3743 -0.0024
## s.e. 0.3419 0.3434 0.3225 0.3343 0.0095
##
## sigma^2 estimated as 0.01195: log likelihood = 45.11, aic = -78.22
##
## $degrees_of_freedom
## [1] 52
##
## $ttable
## Estimate SE t.value p.value
## ar1 -0.3480 0.3419 -1.0178 0.3135
## ar2 -0.0325 0.3434 -0.0947 0.9249
## ma1 0.2586 0.3225 0.8019 0.4263
## ma2 -0.3743 0.3343 -1.1197 0.2680
## constant -0.0024 0.0095 -0.2494 0.8040
##
## $ICs
## AIC AICc BIC
## -1.372287 -1.351647 -1.157229
Our final model for Imports is ARMA(1,1).
# Imports Final Model: ARMA(1,1)
log.import.arma11 = arima(log.import.data, order = c(1,1,1))
log.import.arma11.diagnostics = sarima(log.import.data,1,1,1)
## initial value -2.124853
## iter 2 value -2.131198
## iter 3 value -2.133231
## iter 4 value -2.137431
## iter 5 value -2.149287
## iter 6 value -2.160505
## iter 7 value -2.163489
## iter 8 value -2.164322
## iter 9 value -2.164496
## iter 10 value -2.164541
## iter 11 value -2.164592
## iter 12 value -2.164651
## iter 13 value -2.164733
## iter 14 value -2.164745
## iter 15 value -2.164927
## iter 16 value -2.165021
## iter 17 value -2.165204
## iter 18 value -2.166863
## iter 19 value -2.167436
## iter 20 value -2.176018
## iter 21 value -2.178987
## iter 22 value -2.192394
## iter 23 value -2.194201
## iter 24 value -2.200608
## iter 25 value -2.203958
## iter 26 value -2.210785
## iter 27 value -2.211433
## iter 28 value -2.219517
## iter 29 value -2.220264
## iter 30 value -2.226721
## iter 31 value -2.239600
## iter 32 value -2.253113
## iter 33 value -2.260094
## iter 34 value -2.260647
## iter 35 value -2.263222
## iter 36 value -2.264100
## iter 36 value -2.264100
## iter 37 value -2.264274
## iter 37 value -2.264274
## iter 38 value -2.264308
## iter 38 value -2.264308
## iter 39 value -2.264316
## iter 39 value -2.264316
## iter 40 value -2.264317
## iter 40 value -2.264317
## iter 41 value -2.264318
## iter 41 value -2.264318
## iter 42 value -2.264318
## iter 42 value -2.264318
## iter 42 value -2.264318
## final value -2.264318
## converged
## initial value -2.151965
## iter 2 value -2.159581
## iter 3 value -2.165801
## iter 4 value -2.167893
## iter 5 value -2.168446
## iter 6 value -2.168480
## iter 7 value -2.168526
## iter 8 value -2.168538
## iter 9 value -2.168538
## iter 10 value -2.168539
## iter 11 value -2.168541
## iter 12 value -2.168542
## iter 12 value -2.168542
## iter 12 value -2.168542
## final value -2.168542
## converged
## <><><><><><><><><><><><><><>
##
## Coefficients:
## Estimate SE t.value p.value
## ar1 0.7838 0.0991 7.9080 0.000
## ma1 -1.0000 0.0583 -17.1426 0.000
## constant -0.0075 0.0036 -2.0729 0.043
##
## sigma^2 estimated as 0.0126088 on 54 degrees of freedom
##
## AIC = -1.358857 AICc = -1.350912 BIC = -1.215485
##
log.import.arma11
##
## Call:
## arima(x = log.import.data, order = c(1, 1, 1))
##
## Coefficients:
## ar1 ma1
## 0.4886 -0.7102
## s.e. 0.3028 0.2444
##
## sigma^2 estimated as 0.01319: log likelihood = 42.42, aic = -78.84
log.import.arma11.diagnostics
## $fit
##
## Call:
## arima(x = xdata, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = S),
## xreg = constant, transform.pars = trans, fixed = fixed, optim.control = list(trace = trc,
## REPORT = 1, reltol = tol))
##
## Coefficients:
## ar1 ma1 constant
## 0.7838 -1.0000 -0.0075
## s.e. 0.0991 0.0583 0.0036
##
## sigma^2 estimated as 0.01261: log likelihood = 42.73, aic = -77.45
##
## $degrees_of_freedom
## [1] 54
##
## $ttable
## Estimate SE t.value p.value
## ar1 0.7838 0.0991 7.9080 0.000
## ma1 -1.0000 0.0583 -17.1426 0.000
## constant -0.0075 0.0036 -2.0729 0.043
##
## $ICs
## AIC AICc BIC
## -1.358857 -1.350912 -1.215485